package cn.tedu.pet.product.service;


import cn.tedu.pet.commons.pojo.vo.PageData;
import cn.tedu.pet.product.pojo.param.ClientAddNewParam;
import cn.tedu.pet.product.pojo.param.ClientUpdateInfoParam;
import cn.tedu.pet.product.pojo.vo.ClientIndexVO;
import cn.tedu.pet.product.pojo.vo.ClientListItemVO;
import cn.tedu.pet.product.pojo.vo.ClientStandardVO;
import cn.tedu.pet.product.pojo.vo.PetStandardVO;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

@Transactional
public interface IClientService {

    PetStandardVO getStandardByName(String name);
    /**
     * 客户“是否为VIP”的状态文本
     */
    String ENABLE_TEXT[] = {"禁用", "启用"};

    void addNew(ClientAddNewParam clientAddNewParam);

    void deleteById(Long id);

    void updateById(Long id, ClientUpdateInfoParam clientUpdateInfoParam);


    /**
     * 启用客户VIP
     *
     * @param id 尝试启用的客户的ID
     */
    void setVip(Long id);

    /**
     * 禁用客户VIP
     *
     * @param id 尝试禁用的客户的ID
     */
    void setDisable(Long id);

    List<ClientIndexVO> search(String wd);

    ClientStandardVO getStandardById(Long id);

    PageData<ClientListItemVO> list(Integer pageNum);

    PageData<ClientListItemVO> list(Integer pageNum, Integer pageSize);
}
